package br.com.monitor.dao;

import br.com.monitor.dao.Double;
import br.com.monitor.dao.Exception;

public class InformacoesFisicas {
	private Double peso, altura, medidaPeito, medidaAbdomen, medidaPerna, medidaCintura;
	
	public InformacoesFisicas(Double peso, Double altura, Double medidaPeito, Double medidaAbdomen, Double medidaPerna, Double medidaCintura) throws Exception{

		setPeso(peso);
		setAltura(altura);
		setMedidaPeito(medidaPeito);
		setMedidaAbdomen(medidaAbdomen);
		setMedidaPerna(medidaPerna);
		setMedidaCintura(medidaCintura);
	}

	/**
	 * 
	 * @return Retorna o peso.
	 */
	public Double getPeso() {
		return peso;
	}

	/**
	 * 
	 * @param peso
	 * @throws Exception
	 */
	public void setPeso(Double peso) throws Exception {
		if(peso <= 0){
			throw new Exception("Peso invalido!");
		}
		this.peso = peso;
	}

	/**
	 * 
	 * @return Retora a altura.
	 */
	public Double getAltura() {
		return altura;
	}

	/**
	 * 
	 * @param altura
	 * @throws Exception
	 */
	public void setAltura(Double altura) throws Exception{
		if(altura <= 0){
			throw new Exception("Altura invalida!");
		}
		this.altura = altura;
	}
	/**
	 * 
	 * @return Retorna a medida do peitoral em cm.
	 */
	public Double getMedidaPeito() {
		return medidaPeito;
	}

	/**
	 * 
	 * @param medidaPeito
	 * @throws Exception
	 */
	public void setMedidaPeito(Double medidaPeito) throws Exception{
		if(medidaPeito <= 0){
			throw new Exception("Medida invalida!");
		}
		this.medidaPeito = medidaPeito;
	}

	/**
	 * 
	 * @return Retorna a medida do abdomen em cm.
	 */
	public Double getMedidaAbdomen() {
		return medidaAbdomen;
	}

	/**
	 * 
	 * @param medidaAbdomen
	 * @throws Exception
	 */
	public void setMedidaAbdomen(Double medidaAbdomen) throws Exception{
		if(medidaAbdomen <= 0){
			throw new Exception("Medida invalida!");
		}
		this.medidaAbdomen = medidaAbdomen;
	}

	/**
	 * 
	 * @return Retorna a medida da perna em cm.
	 */
	public Double getMedidaPerna() {
		return medidaPerna;
	}

	/**
	 * 
	 * @param medidaPerna
	 * @throws Exception
	 */
	public void setMedidaPerna(Double medidaPerna) throws Exception{
		if(medidaPerna <= 0){
			throw new Exception("Medida invalida!");
		}
		this.medidaPerna = medidaPerna;
	}

	/**
	 * 
	 * @return Retorna a medida da cintura em cm.
	 */
	public Double getMedidaCintura() {
		return medidaCintura;
	}

	/**
	 * 
	 * @param medidaCintura
	 * @throws Exception
	 */
	public void setMedidaCintura(Double medidaCintura) throws Exception{
		if(medidaCintura <= 0){
			throw new Exception("Medida invalida!");
		}
		this.medidaCintura = medidaCintura;
	}

}
